{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "628ea545",
   "metadata": {},
   "source": [
    "# 一、小波分解的用法\n",
    "## 1.1 工具包使用\n",
    "\n",
    "- 安装\n",
    "\n",
    "关于 `PyWavelets` 的更多用法，请查阅其官方文档：[link](https://pywavelets.readthedocs.io/en/latest/ref/wavelets.html#wavelet-families)及 [pyWavelets使用笔记](https://www.docin.com/p-74261596.html)。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "4602894a",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\r\n",
      "Requirement already satisfied: PyWavelets in /Users/yangsu/miniconda3/envs/whalequant/lib/python3.8/site-packages (1.4.1)\r\n",
      "Requirement already satisfied: numpy>=1.17.3 in /Users/yangsu/miniconda3/envs/whalequant/lib/python3.8/site-packages (from PyWavelets) (1.24.4)\r\n"
     ]
    }
   ],
   "source": [
    "!pip install PyWavelets"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ac5e839",
   "metadata": {},
   "source": [
    "- import module"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "98b75c0e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['haar', 'db', 'sym', 'coif', 'bior', 'rbio', 'dmey', 'gaus', 'mexh', 'morl', 'cgau', 'shan', 'fbsp', 'cmor']\n",
      "['Haar', 'Daubechies', 'Symlets', 'Coiflets', 'Biorthogonal', 'Reverse biorthogonal', 'Discrete Meyer (FIR Approximation)', 'Gaussian', 'Mexican hat wavelet', 'Morlet wavelet', 'Complex Gaussian wavelets', 'Shannon wavelets', 'Frequency B-Spline wavelets', 'Complex Morlet wavelets']\n"
     ]
    }
   ],
   "source": [
    "import pywt \n",
    "print(pywt.families()) # 打印出小波族\n",
    "print(pywt.families(short=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6ae0132b",
   "metadata": {},
   "source": [
    "- haar: Haar\n",
    "- db: Daubechies\n",
    "- sym: Symlets\n",
    "- coif: Coiflets\n",
    "- bior: Biorthogonal\n",
    "- rbio: Reverse biorthogonal\n",
    "- dmey: \"discrete: Fir approximation of Meyer wavelet\n",
    "- gaus: Gaussian wavelets\n",
    "- mexh: Mexican hat wavelet\n",
    "- morl: Morlet wavelet\n",
    "- cgau: Complex Gaussian wavelets\n",
    "- shan: Shannon wavelets\n",
    "- fbsp: Frequency B-Spline wavelets\n",
    "- cmor: Complex Morlet wavelets"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "903bcdc0",
   "metadata": {},
   "source": [
    "- 显示小波族中包含的小波名称"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "36626dbb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['db1', 'db2', 'db3', 'db4', 'db5', 'db6', 'db7', 'db8', 'db9', 'db10', 'db11', 'db12', 'db13', 'db14', 'db15', 'db16', 'db17', 'db18', 'db19', 'db20', 'db21', 'db22', 'db23', 'db24', 'db25', 'db26', 'db27', 'db28', 'db29', 'db30', 'db31', 'db32', 'db33', 'db34', 'db35', 'db36', 'db37', 'db38']\n"
     ]
    }
   ],
   "source": [
    "print(pywt.wavelist('db'))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "723e1bbf",
   "metadata": {},
   "source": [
    "- 小波对象"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "65d91c6a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on class Wavelet in module pywt._extensions._pywt:\n",
      "\n",
      "class Wavelet(builtins.object)\n",
      " |  Wavelet(name, filter_bank=None) object describe properties of\n",
      " |  a wavelet identified by name.\n",
      " |  \n",
      " |  In order to use a built-in wavelet the parameter name must be\n",
      " |  a valid name from the wavelist() list.\n",
      " |  To create a custom wavelet object, filter_bank parameter must\n",
      " |  be specified. It can be either a list of four filters or an object\n",
      " |  that a `filter_bank` attribute which returns a list of four\n",
      " |  filters - just like the Wavelet instance itself.\n",
      " |  \n",
      " |  Methods defined here:\n",
      " |  \n",
      " |  __len__(self, /)\n",
      " |      Return len(self).\n",
      " |  \n",
      " |  __reduce__(...)\n",
      " |      Helper for pickle.\n",
      " |  \n",
      " |  __repr__(self, /)\n",
      " |      Return repr(self).\n",
      " |  \n",
      " |  __str__(self, /)\n",
      " |      Return str(self).\n",
      " |  \n",
      " |  get_filters_coeffs(...)\n",
      " |  \n",
      " |  get_reverse_filters_coeffs(...)\n",
      " |  \n",
      " |  wavefun(...)\n",
      " |      wavefun(self, level=8)\n",
      " |      \n",
      " |      Calculates approximations of scaling function (`phi`) and wavelet\n",
      " |      function (`psi`) on xgrid (`x`) at a given level of refinement.\n",
      " |      \n",
      " |      Parameters\n",
      " |      ----------\n",
      " |      level : int, optional\n",
      " |          Level of refinement (default: 8).\n",
      " |      \n",
      " |      Returns\n",
      " |      -------\n",
      " |      [phi, psi, x] : array_like\n",
      " |          For orthogonal wavelets returns scaling function, wavelet function\n",
      " |          and xgrid - [phi, psi, x].\n",
      " |      \n",
      " |      [phi_d, psi_d, phi_r, psi_r, x] : array_like\n",
      " |          For biorthogonal wavelets returns scaling and wavelet function both\n",
      " |          for decomposition and reconstruction and xgrid\n",
      " |      \n",
      " |      Examples\n",
      " |      --------\n",
      " |      >>> import pywt\n",
      " |      >>> # Orthogonal\n",
      " |      >>> wavelet = pywt.Wavelet('db2')\n",
      " |      >>> phi, psi, x = wavelet.wavefun(level=5)\n",
      " |      >>> # Biorthogonal\n",
      " |      >>> wavelet = pywt.Wavelet('bior3.5')\n",
      " |      >>> phi_d, psi_d, phi_r, psi_r, x = wavelet.wavefun(level=5)\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Static methods defined here:\n",
      " |  \n",
      " |  __new__(*args, **kwargs) from builtins.type\n",
      " |      Create and return a new object.  See help(type) for accurate signature.\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Data descriptors defined here:\n",
      " |  \n",
      " |  biorthogonal\n",
      " |      Is biorthogonal\n",
      " |  \n",
      " |  dec_hi\n",
      " |      Highpass decomposition filter\n",
      " |  \n",
      " |  dec_len\n",
      " |      Decomposition filters length\n",
      " |  \n",
      " |  dec_lo\n",
      " |      Lowpass decomposition filter\n",
      " |  \n",
      " |  family_name\n",
      " |      Wavelet family name\n",
      " |  \n",
      " |  family_number\n",
      " |      Wavelet family number\n",
      " |  \n",
      " |  filter_bank\n",
      " |      Returns tuple of wavelet filters coefficients\n",
      " |      (dec_lo, dec_hi, rec_lo, rec_hi)\n",
      " |  \n",
      " |  inverse_filter_bank\n",
      " |      Tuple of inverse wavelet filters coefficients\n",
      " |      (rec_lo[::-1], rec_hi[::-1], dec_lo[::-1], dec_hi[::-1])\n",
      " |  \n",
      " |  name\n",
      " |  \n",
      " |  number\n",
      " |  \n",
      " |  orthogonal\n",
      " |      Is orthogonal\n",
      " |  \n",
      " |  rec_hi\n",
      " |      Highpass reconstruction filter\n",
      " |  \n",
      " |  rec_len\n",
      " |      Reconstruction filters length\n",
      " |  \n",
      " |  rec_lo\n",
      " |      Lowpass reconstruction filter\n",
      " |  \n",
      " |  short_family_name\n",
      " |      Short wavelet family name\n",
      " |  \n",
      " |  symmetry\n",
      " |      Wavelet symmetry\n",
      " |  \n",
      " |  vanishing_moments_phi\n",
      " |      Number of vanishing moments for scaling function\n",
      " |  \n",
      " |  vanishing_moments_psi\n",
      " |      Number of vanishing moments for wavelet function\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(pywt.Wavelet)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f0573e33",
   "metadata": {},
   "source": [
    "参数说明：`name`: 小波名称；`filter_bank`: 使用提供的滤波器组。示例："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "abafa81b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wavelet db8\n",
      "  Family name:    Daubechies\n",
      "  Short name:     db\n",
      "  Filters length: 16\n",
      "  Orthogonal:     True\n",
      "  Biorthogonal:   True\n",
      "  Symmetry:       asymmetric\n",
      "  DWT:            True\n",
      "  CWT:            False\n"
     ]
    }
   ],
   "source": [
    "wavelet = pywt.Wavelet('db8')\n",
    "print(wavelet)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a80d67dc",
   "metadata": {},
   "source": [
    "- Haar (haar)\n",
    "\n",
    "Haar函数是小波分析中最早用到的一个具有紧支撑的正交小波函数，也是最简单的一个小波函数，它是支撑域在 $t \\in [0,1]$ 范围内的单个矩形波。`Haar` 小波在时域上是不连续的，所以作为基本小波性能不是特别好。\n",
    "\n",
    "- Daubechies (db)\n",
    "\n",
    "多贝西小波小波函数 $\\Psi(\\mathrm{t})$ 和尺度函数 $\\phi(t)$ 中的支撑区为 $2 N − 1$，$\\Psi(\\mathrm{t})$ 的消失矩为 $N$。$\\mathrm{db} N$ 小波具有较好的正则性，即该小波作为稀疏基所引入的光滑误差不容易被察觉，使得信号重构过程比较光滑。$\\mathrm{db}$ N 小波的特点是随着阶次（序列N）的增大消失矩阶数越大，其中消失矩越高光滑性就越好，频域的局部化能力就越强，频带的划分效果越好，但是会使时域紧支撑性减弱，同时计算量大大增加，实时性变差。另外，除 $N=1$ 外，$\\mathrm{db} N$ 小波不具有对称性（即非线性相位），即在对信号进行分析和重构时会产生一定的相位失真。$\\mathrm{db} N$ 没有明确的表达式（除了 $N=1$ 外，$N=1$ 时即为 `Haar` 小波）\n",
    "\n",
    "Ref：[Python 离散小波变换（DWT） pywt库]（https://blog.csdn.net/wsp_1138886114/article/details/116780542）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb3aa720",
   "metadata": {},
   "source": [
    "```python\n",
    "# Filters length: 6        #滤波器长度\n",
    "# Orthogonal:     True    #正交\n",
    "# Biorthogonal:   True    #双正交\n",
    "# Symmetry:       asymmetric    #对称性，不对称\n",
    "# DWT:            True    #离散小波变换\n",
    "# CWT:            False    #连续小波变换\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "dc48616d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n",
      "16\n",
      "16\n"
     ]
    }
   ],
   "source": [
    "def print_array(arr):\n",
    "    print('[%s]'%','.join(['%.14f'%x for x in arr]))\n",
    "    \n",
    "#离散小波变换的小波滤波系数\n",
    "# dec_lo Decomposition filter values 分解滤波值， rec 重构滤波值\n",
    "#db3.filter_bank 返回4 个属性\n",
    "print(wavelet.filter_bank == (wavelet.dec_lo, wavelet.dec_hi, wavelet.rec_lo, wavelet.rec_hi))  #True\n",
    "print(wavelet.dec_len) \n",
    "print(wavelet.rec_len)  #16 "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b77fe39c",
   "metadata": {},
   "source": [
    "# 二、实战篇：基于小波分解与支持向量机的股票预测\n",
    "## 2.1 获取数据"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "52833b37",
   "metadata": {},
   "source": [
    "接下来，我们借助 `tushare` 工具包获取股票数据，并使用小波分解进行实战演练。关于 `tushare` 的具体用法，请查阅 [官方文档](http://tushare.org/classifying.html#id8)。\n",
    "\n",
    "**注**： 此处需要在 tushare 官网申请一个账号，然后得到 token 后，赋值传给 `ts_token` 才能通过数据接口获取数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "94fe5c43",
   "metadata": {},
   "outputs": [],
   "source": [
    "ts_token = ''"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "db4c07be",
   "metadata": {},
   "source": [
    "这里是用 000001 平安银行为例，下载从 `2015-1-1` 到最近某一天的股价数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "cae7cb8c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import datetime\n",
    "import tushare as ts\n",
    "\n",
    "ts.set_token(ts_token) \n",
    "pro = ts.pro_api()\n",
    "\n",
    "time_temp = datetime.datetime.now() - datetime.timedelta(days=1)\n",
    "end_dt = time_temp.strftime('%Y%m%d')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "84739247",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>ts_code</th>\n",
       "      <th>trade_date</th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>pre_close</th>\n",
       "      <th>change</th>\n",
       "      <th>pct_chg</th>\n",
       "      <th>vol</th>\n",
       "      <th>amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2077</td>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>20150105</td>\n",
       "      <td>15.99</td>\n",
       "      <td>16.28</td>\n",
       "      <td>15.60</td>\n",
       "      <td>16.02</td>\n",
       "      <td>15.84</td>\n",
       "      <td>0.18</td>\n",
       "      <td>1.14</td>\n",
       "      <td>2860436.43</td>\n",
       "      <td>4.565388e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2076</td>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>20150106</td>\n",
       "      <td>15.85</td>\n",
       "      <td>16.39</td>\n",
       "      <td>15.55</td>\n",
       "      <td>15.78</td>\n",
       "      <td>16.02</td>\n",
       "      <td>-0.24</td>\n",
       "      <td>-1.50</td>\n",
       "      <td>2166421.40</td>\n",
       "      <td>3.453446e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2075</td>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>20150107</td>\n",
       "      <td>15.56</td>\n",
       "      <td>15.83</td>\n",
       "      <td>15.30</td>\n",
       "      <td>15.48</td>\n",
       "      <td>15.78</td>\n",
       "      <td>-0.30</td>\n",
       "      <td>-1.90</td>\n",
       "      <td>1700120.67</td>\n",
       "      <td>2.634796e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2074</td>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>20150108</td>\n",
       "      <td>15.50</td>\n",
       "      <td>15.57</td>\n",
       "      <td>14.90</td>\n",
       "      <td>14.96</td>\n",
       "      <td>15.48</td>\n",
       "      <td>-0.52</td>\n",
       "      <td>-3.36</td>\n",
       "      <td>1407714.21</td>\n",
       "      <td>2.128003e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2073</td>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>20150109</td>\n",
       "      <td>14.90</td>\n",
       "      <td>15.87</td>\n",
       "      <td>14.71</td>\n",
       "      <td>15.08</td>\n",
       "      <td>14.96</td>\n",
       "      <td>0.12</td>\n",
       "      <td>0.80</td>\n",
       "      <td>2508500.23</td>\n",
       "      <td>3.835378e+06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   index    ts_code trade_date   open   high    low  close  pre_close  change  \\\n",
       "0   2077  000001.SZ   20150105  15.99  16.28  15.60  16.02      15.84    0.18   \n",
       "1   2076  000001.SZ   20150106  15.85  16.39  15.55  15.78      16.02   -0.24   \n",
       "2   2075  000001.SZ   20150107  15.56  15.83  15.30  15.48      15.78   -0.30   \n",
       "3   2074  000001.SZ   20150108  15.50  15.57  14.90  14.96      15.48   -0.52   \n",
       "4   2073  000001.SZ   20150109  14.90  15.87  14.71  15.08      14.96    0.12   \n",
       "\n",
       "   pct_chg         vol        amount  \n",
       "0     1.14  2860436.43  4.565388e+06  \n",
       "1    -1.50  2166421.40  3.453446e+06  \n",
       "2    -1.90  1700120.67  2.634796e+06  \n",
       "3    -3.36  1407714.21  2.128003e+06  \n",
       "4     0.80  2508500.23  3.835378e+06  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = ts.pro_bar(ts_code='000001.SZ', start_date='20150101', end_date=end_dt, freq='D')\n",
    "\n",
    "#把数据按时间调转顺序，最新的放后面，从 tushare 下载的数据是最新的在前面，为了后面准备 X,y 数据方便\n",
    "df = df.iloc[::-1]\n",
    "df.reset_index(inplace=True)\n",
    "\n",
    "df.head() #用 df.head() 可以查看一下下载下来的股票价格数据，显示数据如下："
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8adcb218",
   "metadata": {},
   "source": [
    "只用数据里面的收盘价字段的数据，也可以测试用更多价格字段作为预测输入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "28c2b087",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2078, 1)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x14886b5b0>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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YYSIiIh8xTBCREREvmIYISIiIl8xjBAREZGvGEaIiIjIV56ng/eDnCS2oqLC5zMhIiIit+TndrTJ3tMijFRWVgIA2rdv7/OZEBERkVeVlZVo3ry57e1psTZNXV0dNm7ciAMOOABZWVkJe9yKigq0b98e69ev55o3aYLPWXrh85V++Jyll6A/X5qmobKyEm3btjUsomuWFpWR7OxsHHzwwUl7/GbNmgXySSR7fM7SC5+v9MPnLL0E+flyqohI7MBKREREvmIYISIiIl+FOozk5eVh4sSJyMvL8/tUyCU+Z+mFz1f64XOWXjLl+UqLDqxERESUuUJdGSEiIiL/MYwQERGRrxhGiIiIyFcMI0REROSrUIeRKVOmoGPHjsjPz0efPn2wePFiv08plO644w5kZWUZ/nXt2rX+9r1792L06NE48MAD0bRpU5x//vnYvHmz4THWrVuHQYMGoXHjxmjdujVuuukm7N+/P9W/SkZasGABBg8ejLZt2yIrKwtvv/224XZN0zBhwgS0adMGjRo1QklJCX744QfDMdu3b8ell16KZs2aoUWLFrjiiiuwa9cuwzFffvkl+vbti/z8fLRv3x4PPvhgsn+1jBXtObv88ssj/uYGDBhgOIbPWepMmjQJf/jDH3DAAQegdevWOOecc7Bq1SrDMYl6H5w3bx6OO+445OXl4fDDD8f06dOT/eu5EtowMmPGDJSWlmLixIlYtmwZevTogf79+2PLli1+n1ooHXXUUdi0aVP9v4ULF9bfdv311+Pf//43Xn/9dcyfPx8bN27EeeedV397bW0tBg0ahOrqanz22Wd4/vnnMX36dEyYMMGPXyXjVFVVoUePHpgyZYrl7Q8++CD+8Y9/YOrUqVi0aBGaNGmC/v37Y+/evfXHXHrppfjmm28wZ84cvPfee1iwYAGuuuqq+tsrKirQr18/dOjQAUuXLsVDDz2EO+64A0899VTSf79MFO05A4ABAwYY/uZeeeUVw+18zlJn/vz5GD16ND7//HPMmTMHNTU16NevH6qqquqPScT74Nq1azFo0CCcdtppWLFiBa677jpceeWV+OCDD1L6+1rSQur444/XRo8eXX+9trZWa9u2rTZp0iQfzyqcJk6cqPXo0cPyth07dmgNGzbUXn/99fp9K1eu1ABoZWVlmqZp2qxZs7Ts7GytvLy8/pgnn3xSa9as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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "#只用数据里面的收盘价字段的数据，也可以测试用更多价格字段作为预测输入数据\n",
    "data_set = df.loc[:, ['close']]\n",
    "#只取价格数据，不要表头等内容\n",
    "data_set = data_set.values\n",
    "# #对数据做规则化处理，都按比例转成 0 到 1 之间的数据，这是为了避免真实数据过大或过小影响模型判断\n",
    "sc = MinMaxScaler(feature_range = (0, 1))\n",
    "data_set_scaled = sc.fit_transform(data_set)\n",
    " \n",
    "print(data_set_scaled.shape)\n",
    " \n",
    "plt.figure()\n",
    "plt.plot(data_set_scaled,\"r-\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48c52f07",
   "metadata": {},
   "source": [
    "## 2.2 使用小波分解降噪"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "770efb01",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(31,)\n",
      "8\n",
      "(2078,)\n"
     ]
    },
    {
     "data": {
      "image/png": "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km1srOSUVK7s2ftGRBRIUZoW/itKZGZmomzZssjIyEACB7hD5q+/rGec9OghRceMtSYKsn8/8OGHMgujb9/ArFuTmysJsatXy1DQtm3Axx/LfeXKSU+LMfE20hw6JENRKncEkMDv4EHZD8Q6NURERp5+f3M2DXnMVS7Iiy96F4gAktMxalShm+RWdLQefADADTfI9oMPnGftRKK8PHMgAphX8WUgQkThgsEIeczxy2v+fJm1UhRomuSfADK8VNiKo0WBsSz7ggUSnIXzyslEZF/8aCKPOQYj110Xmnb44ptvJNcFMM8siWRxcfr+b7/JukFEROGIHbXksYQE4D//0W8fORK6tnirXj3ZXnutzOCxg5Il9X2VuEpEFI58CkamTZuGOnXqID4+Hm3atMGGDRvcnr9gwQJceumliI+PR9OmTbF06VKfGkuhlZQks16uvFIqohalLv/GjYE9e4BFi0LdkuCJjpbk4CZNzDVHiIjCjdfByPz58zFs2DCMGTMGmzdvRvPmzdG1a1cccXGZ/Msvv+Dee+/FgAEDsGXLFtx666249dZb8acawKci5913Jfm0QYNQt8Q7detGXpXVgrz1lgzPRNq6O0QUWbye2tumTRtceeWVePvttwEAeXl5qFmzJh577DGMGDHC6fxevXohKysLSwxLtrZt2xYtWrTADFerrjng1F4iIqKix9Pvb696RrKzs7Fp0yYkG+pHFytWDMnJyUhJSbF8TEpKiul8AOjatavL8wHgwoULyMzMNP0QERFRZPIqGDl27Bhyc3OR6LAWfGJiItLUVAUHaWlpXp0PAOPHj0fZsmXzf2rWrOlNM4mIiKgICcvZNCNHjkRGRkb+z4EDB0LdJCIiIgoQr+ZDVKpUCdHR0UhPTzcdT09PR1JSkuVjkpKSvDofAOLi4hBnLJJAREREEcurnpHY2Fi0atUKK1euzD+Wl5eHlStXol27dpaPadeunel8AFixYoXL84mIiMhevK4UMWzYMPTr1w+tW7fGVVddhTfeeANZWVno378/AKBv376oXr06xo8fDwB44okncM0112DKlCno0aMH5s2bh40bN+Ldd9/1729CRERERZLXwUivXr1w9OhRjB49GmlpaWjRogWWLVuWn6SampqKYoa64e3bt8enn36KF154Ac899xwaNGiARYsWoQkLHxARERF8qDMSCqwz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mqZhyJAhWLhwIX744QfUrVvXdL+/PgfbtWtneg51Tlh874U6gzZU5s2bp8XFxWmzZ8/Wtm3bpj300ENauXLlTJnIFBzDhw/XVq9ere3du1f7+eefteTkZK1SpUrakSNHNE3TtEceeUSrVauW9sMPP2gbN27U2rVrp7Vr1y7/8Tk5OVqTJk20Ll26aFu3btWWLVumVa5cWRs5cmSofqWIcvr0aW3Lli3ali1bNADa1KlTtS1btmj79+/XNE3TJkyYoJUrV05bvHix9vvvv2u33HKLVrduXe3cuXP5z9GtWzetZcuW2vr167W1a9dqDRo00O699978+0+dOqUlJiZqffr00f78809t3rx5WsmSJbX//e9/Qf99I4G79+z06dPaU089paWkpGh79+7Vvv/+e+2KK67QGjRooJ0/fz7/OfieBc+gQYO0smXLaqtXr9YOHz6c/3P27Nn8c/zxObhnzx6tZMmS2tNPP61t375dmzZtmhYdHa0tW7YsqL+vFdsGI5qmaW+99ZZWq1YtLTY2Vrvqqqu0devWhbpJttSrVy+tatWqWmxsrFa9enWtV69e2q5du/LvP3funPboo49q5cuX10qWLKnddttt2uHDh03PsW/fPq179+5aiRIltEqVKmnDhw/XLl68GOxfJSKtWrVKA+D0069fP03TZHrvqFGjtMTERC0uLk67/vrrtb///tv0HMePH9fuvfderXTp0lpCQoLWv39/7fTp06ZzfvvtN61jx45aXFycVr16dW3ChAnB+hUjjrv37OzZs1qXLl20ypUra8WLF9dq166tPfjgg04XYnzPgsfqvQKgffDBB/nn+OtzcNWqVVqLFi202NhYrV69eqbXCKUoTdO0YPfGEBERESm2zBkhIiKi8MFghIiIiEKKwQgRERGFFIMRIiIiCikGI0RERBRSDEaIiIgopBiMEBERUUgxGCEiIqKQYjBCREREIcVghIiIiEKKwQgRERGFFIMRIiIiCqn/A+hrWhk5gJoFAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pywt \n",
    "import numpy as np\n",
    "\n",
    "#小波去噪处理\n",
    "data_set_scaled=data_set_scaled.reshape(-1)\n",
    " \n",
    "w = pywt.Wavelet('db8')  # 选用Daubechies8小波\n",
    "maxlev = pywt.dwt_max_level(len(data_set_scaled), w.dec_len)\n",
    "threshold = 0.05  # Threshold for filtering\n",
    " \n",
    "coeffs = pywt.wavedec(data_set_scaled, 'db8', level=maxlev)  # 将信号进行小波分解\n",
    "print(coeffs[0].shape)\n",
    "print(len(coeffs))\n",
    "for i in range(1, len(coeffs)):\n",
    "    coeffs[i] = pywt.threshold(coeffs[i], threshold*max(coeffs[i]))  # 将噪声滤波\n",
    "    \n",
    "data_set_scaled_wv = pywt.waverec(coeffs, 'db8')  # 将信号进行小波重构\n",
    " \n",
    "plt.plot(data_set_scaled_wv,\"b--\")\n",
    " \n",
    "data_set_scaled_wv = np.array(data_set_scaled_wv)\n",
    "# training_set_scaled=training_set_scaled.reshape(-1,1)\n",
    "print(data_set_scaled_wv.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1dd77494",
   "metadata": {},
   "source": [
    "## 2.3 构建训练样本集\n",
    "- 准备 X 和 y 数据\n",
    "\n",
    "就类似前面解释的，先用最近一个交易日的收盘价作为第一个 y，然后这个交易日以前的 30 个交易日（滞后阶数 lag 为30）的收盘价作为 X。\n",
    "这样依次往前推，例如最近第二个收盘价是第二个 y，而最新第二个收盘价以前的 30 个交易日收盘价作为第二个 X，依次往前准备出大量的 X 和 y，用于后面的训练。\n",
    "\n",
    "**注**： 此处针对 `X` 和 `y` 的处理略有不同，X 选择的是小波分解重构之后的数据，而 `y` 则选择的没有进行小波分解重构的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "1e331fe0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2048, 30)\n",
      "(2048,)\n"
     ]
    }
   ],
   "source": [
    "X_data = []\n",
    "y_data = []\n",
    "lags = 30\n",
    "\n",
    "for i in range(lags, len(data_set_scaled)):\n",
    "    X_data.append(data_set_scaled_wv[i-lags:i])\n",
    "    y_data.append(data_set_scaled[i])\n",
    "\n",
    "X_data, y_data = np.array(X_data), np.array(y_data)\n",
    "\n",
    "# X_train=X_train.reshape(-1,1,devia)\n",
    "print(X_data.shape)\n",
    "print(y_data.shape) "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "db3db68b",
   "metadata": {},
   "source": [
    "- 分割数据集\n",
    "\n",
    "在实际操作中，通常会对数据进行分割，得到训练数据集和测试数据集，常用的分割比例为 7/3，8/2。此外，在科研论文中，通常会设置多个不同的分割比例来确保实证结果的稳健型。此处，为方便起见，我们选择 2022年前的数据作为训练集，2022年之后的数据作为测试集。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "8664a43a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((1674, 30), (374, 30))"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "split_date = '20211231'\n",
    "train_length = df[df['trade_date']== split_date].index.values - lags\n",
    "X_train = X_data[:train_length[0], :]\n",
    "y_train = y_data[:train_length[0]]\n",
    "X_test = X_data[train_length[0]:, :]\n",
    "y_test = y_data[train_length[0]:]\n",
    "\n",
    "X_train.shape, X_test.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b991c81b",
   "metadata": {},
   "source": [
    "## 2.4 构建模型与评价指标\n",
    "- 选择评价指标\n",
    "\n",
    "此处，选择 `MSE` 和 `MAE` 两个常见的评价指标来进行评价。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3f23eb4b",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import mean_absolute_error, r2_score\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import mean_squared_error\n",
    "\n",
    "# Calculating directional accuracy\n",
    "def direct_accuracy(real_Y, pred_Y):\n",
    "    # Turn numpy into pandas to difference the series\n",
    "    temp_real = pd.DataFrame(real_Y)\n",
    "    \n",
    "    pd_real = temp_real.diff().dropna() # Difference\n",
    "    \n",
    "    temp_pred = pred_Y[1:]-real_Y[:-1]\n",
    "    pd_pred = pd.DataFrame(temp_pred)\n",
    "    \n",
    "    # Set the value to 1 if the changes of series is positive\n",
    "    \n",
    "    real_direct = np.ones(len(pd_real)) # Default value is set to 1\n",
    "    pred_direct = np.ones(len(pd_pred))\n",
    "    \n",
    "    # Change the value to -1 if the changes is negative\n",
    "    row, col = np.where(pd_real<0)\n",
    "    real_direct[row] = -1 \n",
    "    \n",
    "    row, col = np.where(pd_pred<0)\n",
    "    pred_direct[row] = -1\n",
    "    \n",
    "    return accuracy_score(real_direct, pred_direct)\n",
    "\n",
    "def cal_metrics(pred, real, mean_name):\n",
    "    metric = np.array(['Means', 'MSE', 'MAE'])\n",
    "    mse = mean_squared_error(real, pred).round(4)\n",
    "    mae = mean_absolute_error(real, pred).round(4)\n",
    "    metric = np.vstack((metric, [mean_name, mse, mae]))\n",
    "    return metric"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "935f2c6b",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/yangsu/miniconda3/envs/whalequant/lib/python3.8/site-packages/sklearn/svm/_classes.py:32: FutureWarning: The default value of `dual` will change from `True` to `'auto'` in 1.5. Set the value of `dual` explicitly to suppress the warning.\n",
      "  warnings.warn(\n",
      "/Users/yangsu/miniconda3/envs/whalequant/lib/python3.8/site-packages/sklearn/svm/_base.py:1242: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  warnings.warn(\n"
     ]
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVR\n",
    "\n",
    "from sklearn.pipeline import make_pipeline\n",
    "\n",
    "regr = make_pipeline(LinearSVR(random_state=2023, max_iter=1000))\n",
    "\n",
    "regr.fit(X_train, y_train)\n",
    "\n",
    "pred_train=regr.predict(X_train)\n",
    "pred_test=regr.predict(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d094eca",
   "metadata": {},
   "source": [
    "## 2.5 预测结果与评价值\n",
    "- 绘制样本外预测值与真实值对比图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "e7079375",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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0tbWJn/88YeIiOzbt08MBoMcPXpU2tvbpby8XKxWq1y+fFk5R2lpqdx7773idrvl9OnTkp2dLZs2bYrXlqJqrrwGBwfl1VdfFZfLJT6fT77//nu57777JDs7W0ZHR5VzqCWvrVu3ytKlS6W5uVm6u7uV28jIiDJnvmtvYmJCcnNzpbi4WDwej5w4cUJSU1Nl9+7d8dhS1MyXldfrlbfffltaWlrE5/PJ0aNHJSsrS9auXaucQy1ZiYjs2rVLnE6n+Hw+aW9vl127dolGo5HvvvtORFhXV5srK9bV9VF1syki8uGHH0pGRoZotVpZs2aNnDlzJt5LWhA2btwoZrNZtFqt3HHHHbJx40bxer3K+OXLl+XFF1+UZcuWyZIlS+TJJ5+U7u7uOK44dk6ePCkApt0qKytF5L9//mjPnj2Snp4uOp1OioqKpKOjI+QcfX19smnTJklOTha9Xi/PPfecDA4OxmE30TdXXiMjI1JcXCypqamSmJgomZmZsnnz5mn/4VNLXjPlBEA++eQTZU44197vv/8uZWVlkpSUJEajUXbs2CHj4+Mx3k10zZdVV1eXrF27VlJSUkSn08nKlStl586d0t/fH3IeNWQlIvL8889LZmamaLVaSU1NlaKiIqXRFGFdXW2urFhX10cjIhK751GJiIiISE1U+55NIiIiIoo+NptEREREFDVsNomIiIgoathsEhEREVHUsNkkIiIioqhhs0lEREREUcNmk4iIiIiihs0mEREREUUNm00iIiIiiho2m0REREQUNWw2iYiIiChq/gN2+6FTStC92gAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "price_pred_test = sc.inverse_transform(pred_test.reshape(-1, 1))\n",
    "price_real_test = sc.inverse_transform(y_test.reshape(-1, 1))\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plt.plot(price_pred_test,\"b-\")\n",
    "plt.plot(price_real_test,\"g-\")\n",
    " \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "db33ee4c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([['Means', 'MSE', 'MAE'],\n",
       "        ['Train_set', '0.0004', '0.0133']], dtype='<U32'),\n",
       " array([['Means', 'MSE', 'MAE'],\n",
       "        ['Test_set', '0.0003', '0.012']], dtype='<U32'))"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metric_train = cal_metrics(pred_train, y_train, 'Train_set')\n",
    "metric_test = cal_metrics(pred_test, y_test, 'Test_set')\n",
    "metric_train, metric_test"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "804e80ac",
   "metadata": {},
   "source": [
    "## 2.6 完整代码："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "480d37e6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[['Means' 'MSE' 'MAE']\n",
      " ['Train_set' '0.0004' '0.0133']] [['Means' 'MSE' 'MAE']\n",
      " ['Test_set' '0.0003' '0.012']]\n"
     ]
    },
    {
     "data": {
      "image/png": "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0tbWJn/88YeIiOzbt08MBoMcPXpU2tvbpby8XKxWq1y+fFk5R2lpqdx7773idrvl9OnTkp2dLZs2bYrXlqJqrrwGBwfl1VdfFZfLJT6fT77//nu57777JDs7W0ZHR5VzqCWvrVu3ytKlS6W5uVm6u7uV28jIiDJnvmtvYmJCcnNzpbi4WDwej5w4cUJSU1Nl9+7d8dhS1MyXldfrlbfffltaWlrE5/PJ0aNHJSsrS9auXaucQy1ZiYjs2rVLnE6n+Hw+aW9vl127dolGo5HvvvtORFhXV5srK9bV9VF1syki8uGHH0pGRoZotVpZs2aNnDlzJt5LWhA2btwoZrNZtFqt3HHHHbJx40bxer3K+OXLl+XFF1+UZcuWyZIlS+TJJ5+U7u7uOK44dk6ePCkApt0qKytF5L9//mjPnj2Snp4uOp1OioqKpKOjI+QcfX19smnTJklOTha9Xi/PPfecDA4OxmE30TdXXiMjI1JcXCypqamSmJgomZmZsnnz5mn/4VNLXjPlBEA++eQTZU44197vv/8uZWVlkpSUJEajUXbs2CHj4+Mx3k10zZdVV1eXrF27VlJSUkSn08nKlStl586d0t/fH3IeNWQlIvL8889LZmamaLVaSU1NlaKiIqXRFGFdXW2urFhX10cjIhK751GJiIiISE1U+55NIiIiIoo+NptEREREFDVsNomIiIgoathsEhEREVHUsNkkIiIioqhhs0lEREREUcNmk4iIiIiihs0mEREREUUNm00iIiIiiho2m0REREQUNWw2iYiIiChq/gN2+6FTStC92gAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pywt \n",
    "import numpy as np\n",
    "import datetime\n",
    "import tushare as ts\n",
    "from sklearn.metrics import mean_absolute_error, r2_score\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.svm import LinearSVR\n",
    "from sklearn.pipeline import make_pipeline\n",
    "\n",
    "\n",
    "import warnings \n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "\n",
    "# Calculating directional accuracy\n",
    "def direct_accuracy(real_Y, pred_Y):\n",
    "    # Turn numpy into pandas to difference the series\n",
    "    temp_real = pd.DataFrame(real_Y)\n",
    "    \n",
    "    pd_real = temp_real.diff().dropna() # Difference\n",
    "    \n",
    "    temp_pred = pred_Y[1:]-real_Y[:-1]\n",
    "    pd_pred = pd.DataFrame(temp_pred)\n",
    "    \n",
    "    # Set the value to 1 if the changes of series is positive\n",
    "    \n",
    "    real_direct = np.ones(len(pd_real)) # Default value is set to 1\n",
    "    pred_direct = np.ones(len(pd_pred))\n",
    "    \n",
    "    # Change the value to -1 if the changes is negative\n",
    "    row, col = np.where(pd_real<0)\n",
    "    real_direct[row] = -1 \n",
    "    \n",
    "    row, col = np.where(pd_pred<0)\n",
    "    pred_direct[row] = -1\n",
    "    \n",
    "    return accuracy_score(real_direct, pred_direct)\n",
    "\n",
    "def cal_metrics(pred, real, mean_name):\n",
    "    metric = np.array(['Means', 'MSE', 'MAE'])\n",
    "    mse = mean_squared_error(real, pred).round(4)\n",
    "    mae = mean_absolute_error(real, pred).round(4)\n",
    "    metric = np.vstack((metric, [mean_name, mse, mae]))\n",
    "    return metric\n",
    "\n",
    "\n",
    "# ts_token = ''\n",
    "ts.set_token(ts_token) #需要在 tushare 官网申请一个账号，然后得到 token 后才能通过数据接口获取数据\n",
    "pro = ts.pro_api()\n",
    "\n",
    "time_temp = datetime.datetime.now() - datetime.timedelta(days=1)\n",
    "end_dt = time_temp.strftime('%Y%m%d')\n",
    "\n",
    "df = ts.pro_bar(ts_code='000001.SZ', start_date='20150101', end_date=end_dt, freq='D')\n",
    "\n",
    "#把数据按时间调转顺序，最新的放后面，从 tushare 下载的数据是最新的在前面，为了后面准备 X,y 数据方便\n",
    "df = df.iloc[::-1]\n",
    "df.reset_index(inplace=True)\n",
    "\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "#只用数据里面的收盘价字段的数据，也可以测试用更多价格字段作为预测输入数据\n",
    "data_set = df.loc[:, ['close']]\n",
    "#只取价格数据，不要表头等内容\n",
    "data_set = data_set.values\n",
    "# #对数据做规则化处理，都按比例转成 0 到 1 之间的数据，这是为了避免真实数据过大或过小影响模型判断\n",
    "sc = MinMaxScaler(feature_range = (0, 1))\n",
    "data_set_scaled = sc.fit_transform(data_set)\n",
    "\n",
    "\n",
    "#小波去噪处理\n",
    "data_set_scaled=data_set_scaled.reshape(-1)\n",
    " \n",
    "w = pywt.Wavelet('db8')  # 选用Daubechies8小波\n",
    "maxlev = pywt.dwt_max_level(len(data_set_scaled), w.dec_len)\n",
    "threshold = 0.05  # Threshold for filtering\n",
    " \n",
    "coeffs = pywt.wavedec(data_set_scaled, 'db8', level=maxlev)  # 将信号进行小波分解\n",
    "for i in range(1, len(coeffs)):\n",
    "    coeffs[i] = pywt.threshold(coeffs[i], threshold*max(coeffs[i]))  # 将噪声滤波\n",
    "    \n",
    "data_set_scaled_wv = pywt.waverec(coeffs, 'db8')  # 将信号进行小波重构\n",
    " \n",
    "data_set_scaled_wv = np.array(data_set_scaled_wv)\n",
    "\n",
    "X_data = []\n",
    "y_data = []\n",
    "lags = 30\n",
    "\n",
    "for i in range(lags, len(data_set_scaled)):\n",
    "    X_data.append(data_set_scaled_wv[i-lags:i])\n",
    "    y_data.append(data_set_scaled[i])\n",
    "\n",
    "X_data, y_data = np.array(X_data), np.array(y_data)\n",
    "\n",
    "split_date = '20211231'\n",
    "train_length = df[df['trade_date']== split_date].index.values - lags\n",
    "X_train = X_data[:train_length[0], :]\n",
    "y_train = y_data[:train_length[0]]\n",
    "X_test = X_data[train_length[0]:, :]\n",
    "y_test = y_data[train_length[0]:]\n",
    "\n",
    "\n",
    "## 构建线性支持向量机模型\n",
    "regr = make_pipeline(LinearSVR(random_state=2023, max_iter=1000))\n",
    "\n",
    "regr.fit(X_train, y_train)\n",
    "\n",
    "pred_train=regr.predict(X_train)\n",
    "pred_test=regr.predict(X_test)\n",
    "\n",
    "metric_train = cal_metrics(pred_train, y_train, 'Train_set')\n",
    "metric_test = cal_metrics(pred_test, y_test, 'Test_set')\n",
    "print(metric_train, metric_test)\n",
    "\n",
    "price_pred_test = sc.inverse_transform(pred_test.reshape(-1, 1))\n",
    "price_real_test = sc.inverse_transform(y_test.reshape(-1, 1))\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plt.plot(price_pred_test,\"b-\")\n",
    "plt.plot(price_real_test,\"g-\")\n",
    " \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ee8251f",
   "metadata": {},
   "source": [
    "---\n",
    "# Reference:\n",
    "\n",
    "1. [Python中 pywt 小波分析库中的一些基本使用方法](https://www.jianshu.com/p/f3907c76362f)\n",
    "2. [PyWavelets](https://pywavelets.readthedocs.io/en/latest/index.html#)\n",
    "3. [形象易懂讲解算法I——小波变换](https://zhuanlan.zhihu.com/p/22450818)\n",
    "4. [小波分析要点](https://mp.weixin.qq.com/s/O42x0dhIcJJdalq8qJFWyA)\n",
    "5. [Pytorch实现的小波去噪优化后的LSTM股票预测算法](https://blog.csdn.net/qq_43344047/article/details/118607710)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.17"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
